Links in some communication networks are lossy, meaning that some data packets may be lost during transmission. Various mechanisms exist to acknowledge receipt of a data packet. For example, a link-layer acknowledgment (ACK) mechanism may be provided in such communication networks in which a receiving communication node may send a sending communication node an ACK message to acknowledge receipt of a data packet. However, the ACK messages may also be lost.
Various multi-path data forwarding protocols exist to improve reliability in lossy communication networks. In communication networks that implement such multi-path data forwarding protocols, a first node may send a data packet to a second node along a first route or path. If the first node does not receive an ACK message from the second node, the first node may resend the data packet to a third node along a different route or path. In some cases, the packet sent to the second node may have successfully arrived at the second node to be forwarded to yet another node, even though the first node may have not received an ACK message from the second node. In this example, the resent packet that is sent to the third node is a duplicate of the packet sent to and forwarded by the second node. Existing multi-path data forwarding protocols are unable to reliably detect duplicate packets and/or discern duplicate packets from looped packets such that duplicate packets may increase congestion in a communication network and/or routes may not be poisoned or updated to prevent loops.
The subject matter claimed herein is not limited to embodiments that solve any disadvantages or that operate only in environments such as those described above. Rather, this background is only provided to illustrate one example technology area where some embodiments described herein may be practiced.